کنترل جریان داده چیست و چگونه کار می کند


عضو شوید


نام کاربری
رمز عبور

:: فراموشی رمز عبور؟

عضویت سریع

نام کاربری
رمز عبور
تکرار رمز
ایمیل
کد تصویری
براي اطلاع از آپيدت شدن وبلاگ در خبرنامه وبلاگ عضو شويد تا جديدترين مطالب به ايميل شما ارسال شود



تاریخ : جمعه 19 دی 1399
بازدید : 61
نویسنده : سجاد کرمی

کنترل جریان داده چیست و چگونه کار می کند

در این مقاله میخواهیم در مورد اینکه پروتکل کنترل جریان داده چیست و چگونه کار می کند , صحبت کنیم.

در هنگام انتقال داده ها از فرستنده به سمت گیرنده باید بسته های داده با سرعتی مناسب

از سمت فرستنده به سمت گیرنده ارسال شود. در واقع سرعت ارسال داده ها

با سرعت دریافت و پردازش داده ها باید متناسب باشد در غیره این صورت

گیرنده دچار سرریز داده و از دست رفت داده ها می شود.این اتفاق زمانی می افتد

که یا توان پردازش توسط گیرند کندتر از توان پردازش فرستنده باشد

و یا بار ترافیکی زیادی در سمت گیرنده وجود داشته باشد.

کنترل جریان داده یا Flow Control فرایندی است

برای مدیریت نرخ انتقال داده بین دو گره در شبکه است.

مکانیزم کنترل جریان داده , سرعت انتقال داده را کنترل و مدیریت می کند

تا در صورتی که سرعت  ارسال داده ها در فرستند زیاد و سرعت دریافت داده ها توسط گیرند کم بود

در ارسال و دریافت داده ها دچار مشکل نشوند و گیرنده دچار سر ریز داده نشود.

کنترل جریان با کنترل ازدحام با یکدیگر فرق دارند

در واقع زمانی که ازدحام ایجاد شد باید کنترل جریان وارد عمل شود.

مکانیزم های Flow Control

Stop and Wait

ساده ترین مکانیزم کنترل جریان داده شیوه Stop and Wait است.

در این مکانیزم ابتدا گیرنده اعلام آمادگی برای دریافت داده می کند.

سپس داده ها از طرف فرستند به داده های کوچکتر شکسته

سپس فرستنده بسته داده اول را  ارسال می کند و بعد از دریافت بسته داده

توسط گیرنده پیغام ACK برای فرستنده ارسال میکند. بعد از دریافت ACK

فرستنده بسته بعدی را برای گیرنده ارسال می کند.

و گیرنده منتظر رسیدن بسته بعدی می شود.

و از طرفی فرستنده منتظر پیغام ACK از طرف گیرند می ماند تا بسته بعدی را ارسال کند.

ACK یا Acknowledgement به منظور اطمینان حاصل کردن از اینکه

گیرنده بسته داده را به درستی دریافت کرده است , برای فرستنده ارسال می شود.

فرستنده زمان مشخصی را منتظر دریافت ACK از طرف گیرنده می ماند.

در صورتی که بسته داده در بین مسیر از بین برود و به دست گیرنده نرسد

و یا به هر دلیلی ACK در زمان مشخص به دست فرستنده نرسد ,

مجدد فرستنده اقدام به ارسال بسته داده می کند

که به فرآیند انتقال مجدد بسته داده ARQ یا Automatic Repeat Request گفته می شود.

در این مکانیزم ارتباط نیمه دوطرفه یا Half-Duplex است.

یعنی فرستنده و گیرنده به طور همزمان نمی توانند برای یکدیگر داده ای ارسال کنند.

یک سمت داده ارسال می کند وسمت دیگر منتظر دریافت پیغام می ماند.

به زمانی که فرستنده منتظر  می ماند تا داده ای که برای گیرنده ارسال کرده دریافت کند

و تاییدیه آن (ACK) به دستش(فرستنده) برسد را زمان انتظار فرستنده می نامند.

که فرستند این زمان را کاملا بیکار است.

در این روش اتلاف زمان بسیار است و در هر بار فقط یک بسته داده منتقل می شود

و زمان انتظار فرستنده زیاد است و  هم کانال و هم  فرستنده بیکار هستند.

Sliding Window

Sliding Window به پنجره لغزان معروف است. منظور از پنجره لغزان

همان Buffer  است که بسته های داده را در خود ذخیره می کند.

در روش Sliding Window یک پنجره یا بافر در سمت گیرنده و یکی در سمت فرستنده قرار دارد.

فرض کنیم اندازه بافر n باشد پس فرستنده از بسته داده با شماره صفر

تا بسته با شماره n-1 را ارسال می کند.

فرستنده بسته شماره صفر را ارسال می کند و منتظر دریافت پیغام ACK نمی ماند

و بسته های بعدی را هم ارسال می کند.

بعد از دریافت پیغام ACK  مربوط به بسته شماره صفر بسته داده از بافر حذف شده

و بسته بعدی یعنی بسته شماره n جایگزین می شود  که اصطلاحا می گویند

پنجره یک خانه به جلو لغزید و به همین ترتیب ادامه پیدا می کند

یعنی با دریافت پیغام ACK مربوط به بسته شماره 1 , بسته داده با شماره 1

از بافر حذف شده و بسته جدید یعنی بسته با شماره n+1 جایگزین می شود.

و در سمت گیرنده آماده دریافت بسته داده ها است.

با دریافت اولین بسته ACK مربوط به آن را برای فرستنده ارسال کرده

و در بافر شماره بسته جدید جایگزین می شود که یعنی آماده دریافت بسته جدید است.

فرض کنیم اندازه بافر یا پنجره 4 باشد پس ابتد 4 بسته داخل بافر قرار میگیرند

با شماره های 0و1و2و3

1)بسته های داده به ترتیب ابتدا بسته صفر سپس بسته 1 و بعد بسته های 2 و3

روی کانال قرار داده می شوند بدون اینکه منتظر دریافت ACK مربوطه آن باشد.

2)با دریافت بسته صفر از طرف گیرنده ACK0 برای فرستنده ارسال می شود.

بعد از دریافت ACK0 بسته شماره صفر از بافر حذف شده و بسته جدید با شماره صفر جایگزین می شود

در واقع پنجره یک خانه به جلو حرکت می کند و بسته جدید روی کانال قرار میگیرد.

حال محتویات بافر شامل بسته های 1و2و3و0  است با دریافت ACK1 بسته داده با شماره 1 حذف شده

و یک خانه در بافر خالی می شود و جا برای بسته جدید باز می شود و شماره بسته جدید را یک قرار می دهد

و پنجره یک خانه به جلو حرکت می کند حال محتویات بافر شامل بسته ها با شماره 2و3و4و0و1 است

و فرستنده منتظر دریافت ACK2 می ماند تا مجدد پنجره یک خانه به جلو بلغزد.

 

گیرنده ترتیب بسته های دریافتی را چک می کند و با دریافت هر بسته و مقایسه شماره بسته دریافتی

با شماره بافر  ACK مربوط بسته دریافتی را برای فرستنده ارسال می کند

و شماره آن را از بافر حذف می کند و شماره بسته بعدی را جایگزین می کند.

در این روش فرستنده از زمان انتظار برای ارسال داده ها استفاده می کند

و هیچ زمانی نه کانال و نه فرستنده بیکار نمی مانند در واقع ارتباط دو طرفه یا Full Duplex است ,

هم زمان هم داده ها ارسال می شود و هم پیغام ACK از گیرنده به سمت فرستنده ارسال می شود.

پروتکل TCP که از پروتکل های اساسی در شبکه است از روش Sliding Window استفاده می کند

به همین دلیل است که پروتکل TCP به عنوان پروتکلConnection Oriented شناخته شده.

 

 

 

 

 

 




:: موضوعات مرتبط: آموزش شبکه , ,
:: برچسب‌ها: کنترل جریان داده چیست و چگونه کار می کند , کنترل جریان داده در شبکه , Sliding Window , Stop and Wait ,
می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه:


به وبلاگ من خوش آمدید در این وب سایت قصد داریم در مورد انواع تکنولوژی های به کاربرده شده در شبکه وسیستم های شبکه صحبت کنیم و نکات مهم وکاربردی در ساخت و ایجاد انواع شبکه ها آموزش دهیم . امیدوارم از وب سایت ایجاد شده نهایت استفاده را ببرید .

تبادل لینک هوشمند

برای تبادل لینک ابتدا ما را با عنوان شبکه و آدرس networkbaz.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.






RSS

Powered By
loxblog.Com